<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Elisa3: e_agenda.c File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Elisa3
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('e__agenda_8c.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">e_agenda.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Manage the agendas (timer2)  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;avr\io.h&gt;</code><br/>
<code>#include &lt;avr\interrupt.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="e__agenda_8h_source.html">e_agenda.h</a>&quot;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
</div><table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="e__agenda_8c.html#ae73ebe3bed25b37556b570d7e81722c5">EXIT_OK</a>&#160;&#160;&#160;1</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="e__agenda_8c.html#ad54182362fe997bb2122a391bad52323">e_start_agendas_processing</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the agendas processing.  <a href="#ad54182362fe997bb2122a391bad52323"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="e__agenda_8c.html#a7edb1893889be619f706f9f79cf54817">e_end_agendas_processing</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop all the agendas.  <a href="#a7edb1893889be619f706f9f79cf54817"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="e__agenda_8c.html#a61f859f200c4877ab942af3884838379">e_activate_agenda</a> (void(*func)(void), int cycle)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Activate an agenda.  <a href="#a61f859f200c4877ab942af3884838379"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="e__agenda_8c.html#af5e7efa985f5e0ae59815082d0cfd2d6">e_destroy_agenda</a> (void(*func)(void))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy an agenda.  <a href="#af5e7efa985f5e0ae59815082d0cfd2d6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="e__agenda_8c.html#ab5b08749f3a6ccc4cf338abf8ab49845">e_set_agenda_cycle</a> (void(*func)(void), int cycle)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the cycle value of an agenda.  <a href="#ab5b08749f3a6ccc4cf338abf8ab49845"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="e__agenda_8c.html#a561493b88bf2f528e29caad95bcf5e00">e_reset_agenda</a> (void(*func)(void))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset an agenda's counter.  <a href="#a561493b88bf2f528e29caad95bcf5e00"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="e__agenda_8c.html#af6a7765df88af34b8b589dc49aa3d818">e_pause_agenda</a> (void(*func)(void))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pause an agenda.  <a href="#af6a7765df88af34b8b589dc49aa3d818"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="e__agenda_8c.html#a625633eabf9997ed1305fdb3510038f2">e_restart_agenda</a> (void(*func)(void))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Restart an agenda previously paused.  <a href="#a625633eabf9997ed1305fdb3510038f2"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="e__agenda_8c.html#aab2a16743b120885a9a282ea355ec0a9">my_toggle_state</a> = 0</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Manage the agendas (timer2) </p>
<p>This module manage the agendas with the timer2. <br/>
 <br/>
 An agenda is a structure made to work as chained list. It containts: the function you want to launch, the time setup between two launching events, a counter to measure the current time, a pointer to the next element of the list. <br/>
 <br/>
 Each times the timer2 has an interrupt, all the agenda chained list is scanned to look if an agenda has to be treated according to the cycle value and current counter value. <br/>
 <br/>
 If one (or more) agenda has to be treated, his callback function is launch. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Code: Francesco Mondada, Lucas Meier <br/>
 Doc: Jonathan Besuchet </dd></dl>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="ae73ebe3bed25b37556b570d7e81722c5"></a><!-- doxytag: member="e_agenda.c::EXIT_OK" ref="ae73ebe3bed25b37556b570d7e81722c5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="e__agenda_8c.html#ae73ebe3bed25b37556b570d7e81722c5">EXIT_OK</a>&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a61f859f200c4877ab942af3884838379"></a><!-- doxytag: member="e_agenda.c::e_activate_agenda" ref="a61f859f200c4877ab942af3884838379" args="(void(*func)(void), int cycle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="e__agenda_8h.html#a61f859f200c4877ab942af3884838379">e_activate_agenda</a> </td>
          <td>(</td>
          <td class="paramtype">void(*)(void)&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>cycle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Activate an agenda. </p>
<p>Activate an agenda and allocate memory for him if there isn't already an agenda with the same callback function (the agenda is active but isn't processed if he has a null cycle value). </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>function called if the cycle value is reached by the counter </td></tr>
    <tr><td class="paramname">cycle</td><td>cycle value in millisec/10 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="e__agenda_8c.html#ae73ebe3bed25b37556b570d7e81722c5">EXIT_OK</a> if the agenda has been created, exit the programme otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="af5e7efa985f5e0ae59815082d0cfd2d6"></a><!-- doxytag: member="e_agenda.c::e_destroy_agenda" ref="af5e7efa985f5e0ae59815082d0cfd2d6" args="(void(*func)(void))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="e__agenda_8h.html#af5e7efa985f5e0ae59815082d0cfd2d6">e_destroy_agenda</a> </td>
          <td>(</td>
          <td class="paramtype">void(*)(void)&#160;</td>
          <td class="paramname"><em>func</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destroy an agenda. </p>
<p>Destroy the agenda with a given callback function. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>function to test </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="e__agenda_8c.html#ae73ebe3bed25b37556b570d7e81722c5">EXIT_OK</a> if the agenda has been destroyed, <a class="el" href="e__agenda_8h.html#ad57ebd29c3b0f3a04921b852641ea89f">AG_NOT_FOUND</a> otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="a7edb1893889be619f706f9f79cf54817"></a><!-- doxytag: member="e_agenda.c::e_end_agendas_processing" ref="a7edb1893889be619f706f9f79cf54817" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="e__agenda_8h.html#a7edb1893889be619f706f9f79cf54817">e_end_agendas_processing</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Stop all the agendas. </p>
<p>Stop all the agendas by disabling Timer2 </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>the memory allocated for the agenda isn't freed, use <a class="el" href="e__agenda_8h.html#af5e7efa985f5e0ae59815082d0cfd2d6">e_destroy_agenda</a>(void (*func)(void)) for that. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="e__agenda_8h.html#af5e7efa985f5e0ae59815082d0cfd2d6" title="Destroy an agenda.">e_destroy_agenda</a> </dd></dl>

</div>
</div>
<a class="anchor" id="af6a7765df88af34b8b589dc49aa3d818"></a><!-- doxytag: member="e_agenda.c::e_pause_agenda" ref="af6a7765df88af34b8b589dc49aa3d818" args="(void(*func)(void))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="e__agenda_8h.html#af6a7765df88af34b8b589dc49aa3d818">e_pause_agenda</a> </td>
          <td>(</td>
          <td class="paramtype">void(*)(void)&#160;</td>
          <td class="paramname"><em>func</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pause an agenda. </p>
<p>Pause an agenda but do not reset its information. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>function to pause </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="e__agenda_8c.html#ae73ebe3bed25b37556b570d7e81722c5">EXIT_OK</a> the agenda has been paused, <a class="el" href="e__agenda_8h.html#ad57ebd29c3b0f3a04921b852641ea89f">AG_NOT_FOUND</a> otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="a561493b88bf2f528e29caad95bcf5e00"></a><!-- doxytag: member="e_agenda.c::e_reset_agenda" ref="a561493b88bf2f528e29caad95bcf5e00" args="(void(*func)(void))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="e__agenda_8h.html#a561493b88bf2f528e29caad95bcf5e00">e_reset_agenda</a> </td>
          <td>(</td>
          <td class="paramtype">void(*)(void)&#160;</td>
          <td class="paramname"><em>func</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reset an agenda's counter. </p>
<p>Reset an agenda's counter with a given callback function. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>function to reset </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="e__agenda_8c.html#ae73ebe3bed25b37556b570d7e81722c5">EXIT_OK</a> if the cycle of the agenda has been reseted, <a class="el" href="e__agenda_8h.html#ad57ebd29c3b0f3a04921b852641ea89f">AG_NOT_FOUND</a> otherwise </dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function RESET the agenda, if you just want a pause tell <a class="el" href="e__agenda_8h.html#af6a7765df88af34b8b589dc49aa3d818">e_pause_agenda</a>(void (*func)(void)) </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="e__agenda_8h.html#af6a7765df88af34b8b589dc49aa3d818" title="Pause an agenda.">e_pause_agenda</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a625633eabf9997ed1305fdb3510038f2"></a><!-- doxytag: member="e_agenda.c::e_restart_agenda" ref="a625633eabf9997ed1305fdb3510038f2" args="(void(*func)(void))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="e__agenda_8h.html#a625633eabf9997ed1305fdb3510038f2">e_restart_agenda</a> </td>
          <td>(</td>
          <td class="paramtype">void(*)(void)&#160;</td>
          <td class="paramname"><em>func</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Restart an agenda previously paused. </p>
<p>Restart an agenda previously paused. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>function to restart </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="e__agenda_8c.html#ae73ebe3bed25b37556b570d7e81722c5">EXIT_OK</a> if he agenda has been restarted, <a class="el" href="e__agenda_8h.html#ad57ebd29c3b0f3a04921b852641ea89f">AG_NOT_FOUND</a> otherwise </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="e__agenda_8h.html#af6a7765df88af34b8b589dc49aa3d818" title="Pause an agenda.">e_pause_agenda</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ab5b08749f3a6ccc4cf338abf8ab49845"></a><!-- doxytag: member="e_agenda.c::e_set_agenda_cycle" ref="ab5b08749f3a6ccc4cf338abf8ab49845" args="(void(*func)(void), int cycle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="e__agenda_8h.html#ab5b08749f3a6ccc4cf338abf8ab49845">e_set_agenda_cycle</a> </td>
          <td>(</td>
          <td class="paramtype">void(*)(void)&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>cycle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Change the cycle value of an agenda. </p>
<p>Change the cycle value of an agenda with a given callback function. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>function to test </td></tr>
    <tr><td class="paramname">cycle</td><td>new cycle value in millisec/10 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="e__agenda_8c.html#ae73ebe3bed25b37556b570d7e81722c5">EXIT_OK</a> if the cycle of the agenda has been modified, <a class="el" href="e__agenda_8h.html#ad57ebd29c3b0f3a04921b852641ea89f">AG_NOT_FOUND</a> otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="ad54182362fe997bb2122a391bad52323"></a><!-- doxytag: member="e_agenda.c::e_start_agendas_processing" ref="ad54182362fe997bb2122a391bad52323" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="e__agenda_8h.html#ad54182362fe997bb2122a391bad52323">e_start_agendas_processing</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Start the agendas processing. </p>
<p>Start the agendas processing by starting the Timer2. </p>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="aab2a16743b120885a9a282ea355ec0a9"></a><!-- doxytag: member="e_agenda.c::my_toggle_state" ref="aab2a16743b120885a9a282ea355ec0a9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char <a class="el" href="e__agenda_8c.html#aab2a16743b120885a9a282ea355ec0a9">my_toggle_state</a> = 0</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
</div><!-- contents -->
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="e__agenda_8c.html">e_agenda.c</a>      </li>

    <li class="footer">Generated on Tue Feb 21 2012 07:45:21 for Elisa3 by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
